import Vue from 'vue'
import VueRouter from 'vue-router'
// import HomeView from '../views/IndexShow.vue'
// import DashView from '../views/IndexView.vue'
// import store from '../store'

Vue.use(VueRouter)


//获取原型对象上的push函数
const originalPush = VueRouter.prototype.push
//修改原型对象中的push方法
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
// 静态路由 - 没有登陆之前所有使用者都能访问的路由
const constantRouterMap = [
  {
    path: '/login',
    name: 'login',
    component: () => import('@/views/LoginView.vue'),
    meta: { title: '管理员登录' },
    hidden: true
  },
  {
    path: '/404',
    name: '404',
    component: () => import('@/views/NotFound.vue'),
    hidden: true
  }
]
// const routes = [

//   {
//     path: '/index',
//     name: 'index',
//     component: DashView,
//     meta: {
//       auth: true
//     },
//     children: [
//       {
//         path: '/index/show',
//         name: 'indexshow',
//         component: HomeView,
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/banner',
//         name: 'banner',
//         component: () => import('../views/BannerView.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       //banner新增和修改路由
//       {
//         path: '/bannerAdd',
//         name: 'bannerAdd',
//         component: () => import('../views/BannerAdd.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/order',
//         name: 'order',
//         component: () => import('../views/OrderView.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/client',
//         name: 'client',
//         component: () => import('../views/ClientView.vue'),
//         meta: {
//           auth: true
//         }

//       },
//       {
//         path: '/ownercard',
//         name: 'ownercard',
//         component: () => import('../views/OwnerCard.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/driver',
//         name: 'driver',
//         component: () => import('../views/DriverView.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/adddriver',
//         name: 'adddriver',
//         component: () => import('../views/AddDriver.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/adddriver',
//         name: 'adddriver',
//         component: () => import('../views/AddDriver.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/coupon',
//         name: 'coupon',
//         component: () => import('../views/CouponView.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       //优惠券新增和修改路由
//       {
//         path: '/couponAdd',
//         name: 'couponAdd',
//         component: () => import('../views/CouponAdd.vue')
//       },
//       {
//         path: '/exchangecode',
//         name: 'exchangecode',
//         component: () => import('../views/ExchangeCode.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       //兑换码新增和修改路由
//       {
//         path: '/exchangecodeAdd',
//         name: 'exchangecodeAdd',
//         component: () => import('../views/ExchangeCodeAdd.vue')
//       },
//       //兑换码发送路由
//       {
//         path: '/exchangecodesubmit',
//         name: 'exchangecodesubmit',
//         component: () => import('../views/ExchangeCodeSubmit.vue')
//       },
//       {
//         path: '/systempoints',
//         name: 'systempoints',
//         component: () => import('../views/SystemPoints.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       //系统积分新增和修改路由
//       {
//         path: '//systempointsadd',
//         name: 'systempointsadd',
//         component: () => import('../views/SystemPointsAdd.vue')
//       },
//       {
//         path: '/managepoints',
//         name: 'managepoints',
//         component: () => import('../views/ManagePoints.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/carbrand',
//         name: 'carbrand',
//         component: () => import('../views/CarBrand.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/carshop',
//         name: 'carshop',
//         component: () => import('../views/CarShop.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/repairshop',
//         name: 'repairshop',
//         component: () => import('../views/RepairShop.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/creepyshop',
//         name: 'creepyshop',
//         component: () => import('../views/CreepyShop.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/insurance',
//         name: 'insurance',
//         component: () => import('../views/InsuranceView.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/drivercomment',
//         name: 'drivercomment',
//         component: () => import('../views/DriverComment.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/sensitiveword',
//         name: 'sensitiveword',
//         component: () => import('../views/SensitiveWord.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/refunding',
//         name: 'refunding',
//         component: () => import('../views/RefundingView.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/refundinghistory',
//         name: 'refundinghistory',
//         component: () => import('../views/RefundingHistory.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/insurancecompany',
//         name: 'insurancecompany',
//         component: () => import('../views/InsuranceCompany.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/etcapplication',
//         name: 'etcapplication',
//         component: () => import('../views/EtcApplication.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/insuredapplication',
//         name: 'insuredapplication',
//         component: () => import('../views/InsuredApplication.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/authoritymanagement',
//         name: 'authoritymanagement',
//         component: () => import('../views/AuthorityManagement.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/opencity',
//         name: 'opencity',
//         component: () => import('../views/OpenCity.vue'),
//         meta: {
//           auth: true
//         }
//       },
//       {
//         path: '/forwardnews',
//         name: 'forwardnews',
//         component: () => import('../views/ForwardNews.vue'),
//         meta: {
//           auth: true
//         }
//       },

//       // 廖振兴的临时路由
//       {
//         path: '/orderAdd',
//         name: 'orderAdd',
//         component: () => import('../views/OrdersAddView.vue')
//       },

//       {
//         path: '/AddAccount',
//         name: 'AddAccount',
//         component: () => import('../views/AdminAddView.vue')
//       },
//       {
//         path: '/orderAddNew',
//         name: 'orderAddNew',
//         component: () => import('../views/OrderAddNew.vue')
//       },
//       {
//         path: '/AdminAdd',
//         name: 'AdminAdd',
//         component: () => import('../views/AdminAddView.vue')
//       },
//       {
//         path: '/AuthorityChange',
//         name: 'AuthorityChange',
//         component: () => import('../views/AuthorityChange.vue')
//       },

//       // 樊林丰的临时路由
//       {
//         path: '/AddCarBrand',
//         name: 'AddCarBrand',
//         component: () => import('../views/AddCarBrand.vue')
//       },
//       {
//         path: '/AddCreepyShop',
//         name: 'AddCreepyShop',
//         component: () => import('../views/AddCreepyShop.vue')
//       },
//       {
//         path: '/AddCarShop',
//         name: 'AddCarshop',
//         component: () => import('../views/AddCarShop.vue')
//       },
//       {
//         path: '/AddRepairShop',
//         name: 'AddRepairShop',
//         component: () => import('../views/AddRepairShop.vue')
//       },
//       {
//         path: '/ordersAdd',
//         name: 'ordersAdd',
//         component: () => import('../views/OrdersAddView.vue')
//       },
//       {
//         path: '/addbaoxian',
//         name: 'addbaoxian',
//         component: () => import('../views/zzh/AddBaoXian.vue')
//       },
//       {
//         path: '/managementbaoxian',
//         name: 'managementbaoxian',
//         component: () => import('../views/zzh/ManagementBaoXian.vue')
//       },
//       {
//         path: '/applyetc.',
//         name: 'applyetc',
//         component: () => import('../views/zzh/ApplyEtc.vue')

//       },
//     ]
//   },
//   {
//     path: '/login',
//     name: 'login',
//     component: () => import('../views/LoginView.vue')
//   },
//   {
//     path: '*',
//     name: 'notfound',
//     component: () => import('../views/NotFound.vue')
//   }
// ]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: constantRouterMap
})

// // 路由拦截
// router.beforeEach((to, from, next) => {
//   //获取登录凭证
//   const token = store.state.userStore.token;
//   console.log('每次访问路由都会先调用该函数：', token);

//   if (to.meta.auth) { // 表示需要登录才能访问的页面
//     if (token) {
//       next();
//     } else {
//       next('/login');
//     }
//   } else { // 表示访问不需要登录的页面，那么想干嘛干嘛去
//     next(); // 只有调用该方法才会进入下一个路由
//   }

// })
export default router
